package com.xmj.cs.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.xmj.common.annotation.Excel;
import com.xmj.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 顾客对象 Customers
 *
 * @author ohh
 * @date 2024-04-21
 */
public class Customers extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 客户ID */
    private Long customerID;

    /** 姓氏 */
    @Excel(name = "姓氏")
    private String firstName;

    /** 姓名（可填） */
    @Excel(name = "姓名", readConverterExp = "可=填")
    private String lastName;

    /** 电子邮箱 */
    @Excel(name = "电子邮箱")
    private String email;

    /** 手机号码 */
    @Excel(name = "手机号码")
    private String phoneNumber;

    /** 会员状态(0代表是，1代表否) */
    @Excel(name = "会员状态(0代表是，1代表否)")
    private String membershipStatus;

    /** 积分 */
    @Excel(name = "积分")
    private Long points;

    /** 注册日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "注册日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date registrationDate;

    public void setCustomerID(Long customerID)
    {
        this.customerID = customerID;
    }

    public Long getCustomerID()
    {
        return customerID;
    }
    public void setFirstName(String firstName)
    {
        this.firstName = firstName;
    }

    public String getFirstName()
    {
        return firstName;
    }
    public void setLastName(String lastName)
    {
        this.lastName = lastName;
    }

    public String getLastName()
    {
        return lastName;
    }
    public void setEmail(String email)
    {
        this.email = email;
    }

    public String getEmail()
    {
        return email;
    }
    public void setPhoneNumber(String phoneNumber)
    {
        this.phoneNumber = phoneNumber;
    }

    public String getPhoneNumber()
    {
        return phoneNumber;
    }
    public void setMembershipStatus(String membershipStatus)
    {
        this.membershipStatus = membershipStatus;
    }

    public String getMembershipStatus()
    {
        return membershipStatus;
    }
    public void setPoints(Long points)
    {
        this.points = points;
    }

    public Long getPoints()
    {
        return points;
    }
    public void setRegistrationDate(Date registrationDate)
    {
        this.registrationDate = registrationDate;
    }

    public Date getRegistrationDate()
    {
        return registrationDate;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("customerID", getCustomerID())
            .append("firstName", getFirstName())
            .append("lastName", getLastName())
            .append("email", getEmail())
            .append("phoneNumber", getPhoneNumber())
            .append("membershipStatus", getMembershipStatus())
            .append("points", getPoints())
            .append("registrationDate", getRegistrationDate())
            .toString();
    }
}
